﻿using System;
using Volo.Abp.Data;
using Volo.Abp.MultiTenancy;

namespace Xms.Abp.BackgroundJob;

public class BackgroundScheduleInfo: IHasExtraProperties
{
    public virtual Guid? Id { get; set; }
    public virtual string Name { get; set; }
    public virtual string DisplayName { get; set; }
    public virtual string Cron { get; set; }
    public virtual MultiTenancySides MultiTenancySides { get; set; } = MultiTenancySides.Tenant;
    public virtual int ExecuteCount { get; set; }
    public virtual DateTime CreationTime { get; set; }
    public virtual DateTime NextExecuteTime { get; set; }
    public virtual DateTime? LastExecuteTime { get; set; }
    public virtual DateTime? ModificationTime { get; set; }
    public virtual bool IsEnabled { get; set; }

    public virtual ExtraPropertyDictionary ExtraProperties { get; protected set; } = new ExtraPropertyDictionary();
}
